package Day12_String类;

/*
String类所在包是java.long,核心包 不需要导包.
String类代表字符串  "abc"
字符串内容不可变,他们的值在创建后不能更改!

我们自己类的创建对象,打印的是地址
String类 打印的是字符串,不是地址

构造方法:
       1.String str = new String()                  无参构造,创建一个空字符串""
       2.String str = new String(String original)   创建一个新字符串,新字符串的内容和参数一样
       3.String str = new String(char[] value)      创建一个新字符串,新字符串的内容由char数组的内容组成
       4.String str = new String(byte[] bytes)      创建一个新字符串,新字符串的内容由byte数组的内容组成

       5.String str = "hello"                       直接赋值,最常用!

       new出来的字符串保存在堆中,直接赋值的保存在字符串常量池中

*/

public class String类 {
    public static void main(String[] args) {
        // 1.String()
        String str1 = new String();
        System.out.println("str1=" +str1); //str1=

        //2.String(String original)
        String str2 = new String("hello");
        System.out.println("str2=" + str2); //str2=hello

        //3.String(char[] value)
        char[] arr = new char[]{'a','b','c','d'};
        String str3 = new String(arr);
        System.out.println("str3=" + str3); //str3=abcd

        //4.String(byte[] bytes)
        byte[] arr1 = {65,66,67,68};
        String str4 = new String(arr1); //{65,66,67,68} -->{'A','B','C','D'}
        System.out.println("str4=" + str4); //str4=ABCD

        //5.String str= "hello"
        String str5 = "hello";
        System.out.println("str5=" + str5);
    }
}
